// 有两种方式
// 方式1：单独指定参数，返回值的类型
function add(num1: number, num2: number): number {
    return num1 + num2;
}

const add2 = (str1: string, str2: string): string => {
    return str1 + str2;
}

// 方式2 同时指定参数、返回值的类型
const add3: (str1: string, num: number) => string = (str1, num) => {
    return str1 + num;
}

/////////////////////////

// 没有返回值
function hello(name: string): void {
    console.log(name);
}

// 可选参数。在参数名后添加?
// 可选参数，只能产在必填参数的最后面
function add5(num1: number, num2: number, num3?: number): number {
    let a = num1 + num2;
    if (num3) {
        return a + num3;
    } else {
        return a;
    }
}


// https://blog.csdn.net/sjsjsjsj1010/article/details/129982059